import { encryptByCBC, decryptByCBC } from "../pages/admin/jiami";

//该文件为项目的配置文件，保存通用性配置，以及变量
export const URL = 'http://localhost:3000' //zjp
// export const URL = 'http://localhost:3000' //wjk
// export const URL = '' //配置真正的服务器地址，使用服务器反向代理来配置的

//正式服隐藏log日志
export const meshLog = (...info) => {
    if (urlDebug()) {
        console.log(...info);
    }
}


//本地存储
export const SPRemove = (key) => {
    key = msgReverse(key);
    // console.log("wjkRemove", key);
    localStorage.removeItem(key);
}


export const SPSet = (key, value) => {
    // console.log("wjkSet--");
    if (msgNeedEncrypt(key)) {
        value = encryptByCBC(value + '');
    }
    key = msgReverse(key);
    // console.log("wjkSet", key);
    localStorage.setItem(key, value);
}

export const SPGet = (key) => {
    let data = localStorage.getItem(msgReverse(key));
    if (msgNeedEncrypt(key)) {
        // console.log("wjkGet!-", key,data);
        if (data === null) {
            return data;
        }
        // console.log("wjkGet!-", decryptByCBC(data));
        return decryptByCBC(data);
    } else {
        // console.log("wjkGet?-", key,data);
        return data;
    }
}






function urlDebug() {
    // return false;
    if (URL.substring(0, 4) == 'http') {
        return true;
    }
    return false;
}

function msgNeedEncrypt(msg) {
    if (!urlDebug()) {  //!urlDebug()
        if (msg == 'areaNo' || msg == 'areaNopandun' || msg == 'areaSetx' ||
            msg == 'deviceSetDefault' || msg == 'deviceSetx' ||
            msg == 'email' ||
            msg == 'groupSetx' ||
            msg == 'meshList' ||
            msg == 'noBulbSetx' ||
            msg == 'passwd' ||
            msg == 'RabProfile' ||
            msg == 'rgbshuju' ||
            msg == 'scenesSetx' || msg == 'scheduleSetx' || msg == 'sensorSetx' || msg == 'smartshiftSetx' ||
            msg == 'token') {
            return true;
        }
    }
    return false;
}

function msgReverse(msg) {
    if (!urlDebug()) {  //!urlDebug()
        // return msg.split('').reverse().join("");
        return encryptByCBC(msg);

    }
    return msg;
}
